#pragma once
#include <iostream>
#include <unistd.h>
#include <functional>
#include <pthread.h>

//任务1：调用一个类成员函数作为任务
class Task{
public:
	Task(int x, int y):_x(x), _y(y){}
	~Task(){};
	void Execute(){
		_result = _x + _y;
	}
	int X() const {
		return _x;
	}
	int Y() const {
		return _y;
	}
	int Result() const {
		return _result;
	}	

private:
	int _x;
	int _y;
	int _result;
};

//任务2：调用包装器中的函数作为任务
using task_t = std::function<void()>;

void Download(){
	std::cout<<"正在进行一个下载任务..."<<std::endl;
	sleep(3);
}